home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / byte0287.arc / LISTING5 < prev    next >
Encoding:
Text File  |  1980-01-01  |  1.8 KB  |  65 lines

  1. 10 SCREEN 0,0,0 :REM Text screen
  2. 20 SZ=4-INT(-(640+7)*200/32) :REM Size of graphics array.
  3. 30 DIM SC(SZ)        :REM To hold graphics screen.
  4. 40 VRES=200: HRES=640
  5. 50 MIDY=INT((VRES-1)/2) :REM Vertical offset for X-axis
  6. 60 YES=(1=1)
  7. 70 NO=(1=0)
  8. 80 SS=NO                : REM Screen not saved yet
  9. 90 FILES
  10. 100 LINE INPUT "Name the input file ";FI$
  11. 110 IF FI$=NU$ THEN END
  12. 120 OPEN FI$ FOR INPUT AS 1
  13. 130 INPUT #1,N
  14. 140 PRINT FI$; " contains ";N+1; "values"
  15. 150 INPUT #1,Y
  16. 160 MINY=Y: MAXY=Y
  17. 170 FOR K=1 TO N
  18. 180 INPUT #1,Y
  19. 190 IF Y>MAXY THEN MAXY=Y
  20. 200 IF Y<MINY THEN MINY=Y
  21. 210 NEXT K
  22. 220 CLOSE
  23. 230 PRINT "Values range from ";MINY; "to "; MAXY
  24. 240 PRINT "Press any key to continue";
  25. 250 WHILE INKEY$=NU$: WEND
  26. 260 YSCALE=(VRES-1)/ABS(MAXY-MINY)
  27. 270 XSCALE=(HRES-1)/N
  28. 280 CLS
  29. 290 SCREEN 2    :REM Graphics screen
  30. 300 IF SS THEN PUT (0,0),SC :REM Restore screen if it has
  31.     been saved previously.
  32. 310 LINE (0,MIDY)-(HRES-1,MIDY),1    :REM Draw X-axis
  33. 320 OPEN FI$ FOR INPUT AS 1
  34. 330 INPUT #1,N
  35. 340 INPUT#1,Y
  36. 350 PSET (0,(Y-MINY)*YSCALE)    :REM Plot first point.
  37. 360 FOR X=1 TO N
  38. 370 INPUT #1,Y
  39. 380 LINE -(X*XSCALE,(Y-MINY)*YSCALE) :REM Connect points
  40. 390 NEXT X
  41. 400 CLOSE
  42. 410 GET (0,0)-(639,199),SC
  43. 420 WHILE INKEY$=NU$: WEND  :REM Hold til key pressed.
  44. 430 SS=YES    :REM Screen has been saved.
  45. 440 SCREEN 0,0,0    :REM Go back to text screen.
  46. 450 GOTO 90
  47. 5000 DEF SEG=0
  48. 5010 PRINT "Color or mono display (c/m)? ";
  49. 5020 CM$=INPUT$(1)
  50. 5030 PRINT CM$
  51. 5040 WHICH=INSTR(1,"CcMm",CM$)
  52. 5050 ON WHICH+1 GOTO 5010,5070,5070,5130,5130
  53. 5060 END
  54. 5070 POKE &H410,(PEEK(&H410) AND &HCF) OR &H10
  55. 5080 SCREEN 1,0,0,0
  56. 5090 SCREEN 0
  57. 5100 WIDTH 40: WIDTH 80
  58. 5110 LOCATE ,,1,6,7
  59. 5120 STOP
  60. 5130 POKE &H410,(PEEK(&H410) OR &H30)
  61. 5140 SCREEN 0
  62. 5150 WIDTH 40
  63. 5160 WIDTH 80
  64. 5170 LOCATE ,,1,12,13
  65.